package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.Factor;
import com.ruoyi.system.domain.FactorCategory;
import com.ruoyi.system.domain.FactorItem;
import com.ruoyi.system.domain.StrategyBuilder;

/**
 * 策略生成器Mapper接口
 *
 * @author ruoyi
 * @date 2022-01-25
 */
public interface StrategyBuilderMapper
{
    /**
     * 查询策略生成器
     *
     * @param factorCategoryId 策略生成器主键
     * @return 策略生成器
     */
    public StrategyBuilder selectStrategyBuilderByFactorCategoryId(String factorCategoryId);

    /**
     * 查询策略生成器列表
     *
     * @param strategyBuilder 策略生成器
     * @return 策略生成器集合
     */
    public List<StrategyBuilder> selectStrategyBuilderList(StrategyBuilder strategyBuilder);

    /**
     * 查询因子列表
     *
     * @param strategyBuilder 因子类别
     * @return 因子集合
     */
    public List<FactorItem> selectFactorItemList(StrategyBuilder strategyBuilder);

    /**
     * 新增策略生成器
     *
     * @param strategyBuilder 策略生成器
     * @return 结果
     */
    public int insertStrategyBuilder(StrategyBuilder strategyBuilder);

    /**
     * 修改策略生成器
     *
     * @param strategyBuilder 策略生成器
     * @return 结果
     */
    public int updateStrategyBuilder(StrategyBuilder strategyBuilder);

    /**
     * 删除策略生成器
     *
     * @param factorCategoryId 策略生成器主键
     * @return 结果
     */
    public int deleteStrategyBuilderByFactorCategoryId(String factorCategoryId);

    /**
     * 批量删除策略生成器
     *
     * @param factorCategoryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStrategyBuilderByFactorCategoryIds(String[] factorCategoryIds);
}
